home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
basic
/
psljii2.bas
< prev
next >
Wrap
BASIC Source File
|
1990-03-14
|
1KB
|
44 lines
REM
DEFINT I-N
REM $INCLUDE: 'qb.bi'
'for interrrupt routines (use qbx.bi for BC7)
DIM inregs AS RegTypeX
DIM outregs AS RegTypeX
ON KEY(10) GOSUB 100
KEY(10) ON
REM--stick the main program here to generate the screen and
REM--then hit F10. Then wait and wait, this program is not fast.
STOP
REM--laserjet printscreen routine
REM--it is set for screen 12 (640 x 480) but should work
REM--for any mode by changing nxrange, nyrange and the screen mode
100 nxrange = 640
nyrange = 480
SCREEN 12
VIEW
WINDOW (0, 0)-(nxrange - 1, nyrange - 1)
c1% = 4 'this is number of points per pixel
OPEN "lpt1:" FOR RANDOM AS #7
WIDTH #7, 255
PRINT #7, CHR$(27); "E";
inregs.ax = &HD00 'for reading pixel
inregs.bx = 1 'page #
FOR i = 1 TO nxrange - 1
FOR i1 = 1 TO nyrange - 1
inregs.cx = i 'pixel column #
inregs.dx = i1 'pixel row #
CALL INTERRUPTX(&H10, inregs, outregs) 'video
IF (outregs.ax AND &HFF) > 0 THEN 'just want AL
PRINT #7, CHR$(27); "*p"; (nyrange - i1) * c1%; "x"; (nxrange - i) * c1%; "Y";
PRINT #7, CHR$(27); "*c"; c1%; "A";
PRINT #7, CHR$(27); "*c"; c1%; "B";
PRINT #7, CHR$(27); "*c0P";
END IF
nxt: NEXT i1
NEXT i
PRINT #7, CHR$(27); "E";
CLOSE #7
RETURN
END